1. Field of the Invention
The present invention relates, in general, to network data communications, and, more particularly, to an extended link service that provides node identification data on request on a fibre channel fabric.
2. Relevant Background
Fibre Channel is a high performance serial interconnect standard designed for bi-directional, point-to-point communications between servers, storage systems, workstations, switches, and hubs. It offers a variety of benefits over other link-level protocols, including efficiency and high performance, scalability, simplicity, ease of use and installation, and support for popular high level protocols.
Fibre channel employs a topology known as a xe2x80x9cfabricxe2x80x9d to establish connections (paths) between ports. A fabric is a network of one or more switches for interconnecting a plurality of devices without restriction as to the manner in which the switch can be arranged. A fabric can include a mixture of point-to-point and arbitrated loop topologies.
In Fibre channel a path is established between two nodes where the path""s primary task is to transport data from one point to another at high speed with low latency, performing only simple error correction in hardware. The Fibre channel switch provides flexible circuit/packet switched topology by establishing multiple simultaneous point-to-point connections. Because these connections are managed by the switches or xe2x80x9cfabric elementsxe2x80x9d rather than the connected end devices or xe2x80x9cnodesxe2x80x9d, fabric traffic management is greatly simplified from the perspective of the device.
To connect to a fibre channel fabric, devices include a node port or xe2x80x9cN13 Portxe2x80x9d that manages the fabric connection. The N_port establishes a connection to a fabric element (e.g., a switch) having a fabric port or F_port. Devices attached to the fabric require only enough intelligence to manage the connection between the N_Port and the F_Port. Fabric elements include the intelligence to handle routing, error detection and recovery, and similar management functions. Fabric elements provide these functions by implementing a variety of services. Although some basic services are required to be provided by all fibre channel devices, a wide variety of optional or extended services can be implemented to provide additional functionality.
The fibre channel structure is defined as a five layer stack of functional levels, not unlike those used to represent network protocols. The five layers define the physical media and transmission rates, encoding scheme, framing protocol and flow control, common services, and the upper level application interfaces. FC-0, the lowest layer, specifies physical characteristics of the media, transmitters, receivers and connectors. FC-1 defines the 8B/10B encoding/decoding scheme used to integrate the data with the clock information required by serial transmission techniques.
FC-2 defines the framing protocol for data transferred between ports as well as the mechanisms for using Fibre Channel""s circuit and packet switched service classes and the means of managing the sequence of a data transfer. FC-2 is often referred to as the xe2x80x9clink levelxe2x80x9d. FC-3 is undefined and currently is not used. FC-4 provides integration of FC-2 level frames with existing standards and protocols such as FDDI, HIPPI, IPI-3, SCSI, Internet Protocol (IP), Single Byte Command Code Set (SBCCS), and the like.
Services can be readily provided at the FC-2 and FC-4 levels (or the FC-3 level when implemented). Each data packet sent between fabric elements includes a xe2x80x9cheaderxe2x80x9dthat includes fields holding addressing and other packet-specific information. A certain number of codes are reserved in the header to identify packets that are providing services from packets that are transferring user-level data. Upon receipt of a packet having a recognized service code in the header, a receiving device knows that the payload data is not regular information traffic. If the receiving device offers the service specified by the code, it will execute routines to implement the service. If the receiving device does not offer the service specified by the code, it returns a packet to the sender with a header code indicating that the particular service is not supported. This system enables the variety of services offered by a particular device to be expanded so long as code space remains to uniquely identify each service.
xe2x80x9cSelf descriptionxe2x80x9d refers to the ability of a product to provide identifying information (e.g., node-identification data) on request at any of its interfaces. This ability allows, for example, an inventory of the products/nodes of a configuration can be assembled and maintained under program control. This information also enables the interconnections of the configuration to be determined. In prior fibre channel implementations, self description is not provided. Instead, a first node may obtain some limited information from a second node if such information is voluntarily or automatically provide by the second node. However, nodes had no way of prompting the other nodes in a fabric to provide self description information.
Specific uses of self-description information in a Fibre Channel environment include enabling a node to determine whether the actual configuration at initialization matches a predefined configuration. Fibre channel is intended to be a flexible, robust network that allows devices to be added, removed, repaired, and upgraded with minimal impact to ongoing communication services. Each device stores a predefined description of nodes that it expects to be coupled to the fabric so that it knows addresses and device types of other nodes. However, this stored description may become out of date as the fabric changes. A need exists for a quick, readily implemented method that enables devices to update their stored node description information to match the existing fabric to which they are connected.
Similarly, after a link disruption or malfunction such as loss-of-light on the link interface, the node desirably determines whether the restored configuration matches the configuration that existed before the disruption or malfunction. Further, self-description information provides unique identification of failing nodes under program control. These useful functions could not be fully provided in prior implementations that failed to provide self description information.
Briefly stated, the present invention involves an extended link service (ELS) for Fibre channel fabrics which supports the acquisition of self-description information. Self Description provides product dependent information (e.g., node-identification data) to compatible FC-2 or FC-4 facilities in all classes of service. In a preferred implementation, the ELS frames implementing the present invention is transmitted using the FT-1 frame format via Class 2, Class 3, or Class F service.
More specifically, the present invention involves a method for implementing a link level service in a computer network having a first port device and a second port device. Node identification data is stored in both the first port device and the second port device. A physical-layer communications coupling is provided between the first port device and the second port device which may be a point-to-point, loop, or switched circuit connection. The first port device sends a request node identification (RNID) message addressed to the second port device. The second port device creates an accept message and copies stored node identification data into the accept message. The second port device sends the accept message to the first port device. In a similar manner, the second port device sends a request node identification (RNID) message addressed to the first port device. The first port device creates an accept message and copies stored node identification data into the accept message. The first port device sends the accept message to the second port device.